三阶贝塞尔曲线选点_三次贝塞尔曲线绘制算法(优化过)

package

{

import flash.display.Bitmap;

import flash.display.BitmapData;

import flash.display.Shape;

import flash.display.Sprite;

import flash.events.Event;

import flash.events.MouseEvent;

import flash.geom.Point;

import flash.geom.Rectangle;

/**

*贝塞尔曲线绘制算法

* @author boycy815*/

public class Main extends Sprite

{

/*C30到C33的值总共才4个直接枚举*/

private const C30:int = 1;

private const C31:int = 3;

private const C32:int = 3;

private const C33:int = 1;

/*定义曲线上点的个数(包括两端)*/

private const LENGTH:int = 10000;

/*btC30到btC33分别是R0 R1 R2 R3四个点当t取前三个值时的权重值*/

private var btC30:Vector. = new Vector.(3);

private var btC31:Vector. = new Vector.(3);

private var btC32:Vector. = new Vector.(3);

private var btC33:Vector. = new Vector.(3);

/*画点的位图*/

private var data:BitmapData;

private var map:Bitmap;

/*用于连接四个点的四条直线*/

private var lin:Shape;

/*分别是四个点的显示对象*/

private var ct0:Sprite;

private var ct1:Sprite;

private var ct2:Sprite;

private var ct3:Sprite;

public function Main():void

{

if (stage) init();

else addEventListener(Event.ADDED_TO_STAGE, init);

}

private function init(e:Event = null):void

{

removeEventListener(Event.ADDED_TO_STAGE, init);

/*初始化位图和一些显示对象

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值